Parent


Ruuds Diagnostic ROM  -  Checkpoints to serial port 3F8h


For version 4.3 and later


Version 4.3 introduced the sending of checkpoints to the serial port at I/O address/port 3F8h.  The first serial port in a computer is usually set to I/O address/port 3F8h.  Below, I will refer to the serial port at 3F8h as 'COM1'.

Checkpoints are sent in ASCII, not 'raw' bytes.

The sent checkpoints would be viewed by a device such as an ASCII serial terminal, or terminal program.  The receiving device/software needs to be set to: 9600 baud, no parity, 8 data bits, 1 stop bit. (9600,N,8,1)

The diagram at here illustrates my use of a free terminal program on a Windows 10 computer.

At here is an example screenshot of what is displayed in a terminal program.  In that example, AA was the last checkpoint sent (AA indicates a problem found when testing the first 2 KB of RAM.)

Version 4.7 and later of Ruud's Diagnostic ROM will display a hash if a critical error has just occured, and accordingly, that testing will be stopped.

IMPORTANT:  Some of the checks take a long time (minutes) to run.  At times, you may think that the diagnostic has stopped.  You need to be patient.


Checkpoint AA - Additional information shown

Checkpoint AA indicates a failure of the 'Check first 2 KB of RAM' test.  To the right of the 'AA' will be shown the failing address, and the bit error pattern.  For example, 'AA 00000 20' indicates a failing address of 00000 (a hex figure), and a bit error pattern of 20 (a hex figure).  See note 2 below.


Checkpoint B5 - Additional information shown

Checkpoint B5 indicates a failure of the 'Testing RAM - Data' test.  To the right of the 'B5' will be shown the failing address, and the bit error pattern.  For example, 'B5 0C000 20' indicates a failing address of 0C000 (a hex figure), and a bit error pattern of 20 (a hex figure).  See note 2 below.


Checkpoint B7 or B8 - Additional information shown

Checkpoint B7 or B8 indicates a failure of the 'Testing RAM - Address' test.  To the right of the 'B7' (or 'B8') will be shown the failing address, and the bit error pattern.  For example, 'B7 0C000 20' indicates a failing address of 0C000 (a hex figure), and a bit error pattern of 20 (a hex figure).  See note 2 below.


Checkpoint B9 - Additional information shown

Checkpoint B9 indicates a failure of the 'Testing RAM - Refresh' test.  To the right of the 'B9' will be shown the failing address.  For example, 'B9 0E000' indicates a failing address of 0E000 (a hex figure).  See note 2 below.


Checkpoint BA - Additional information shown

Checkpoint BA indicates a failure of the 'Testing RAM - Slow Refresh' test.  To the right of the 'BA' will be shown the failing address, and the bit error pattern.  For example, 'AA 0C400 80' indicates a failing address of 0C400 (a hex figure), and a bit error pattern of 80 (a hex figure).




Note 1 For most of its work, Ruud's Diagnostic ROM (RDR) needs some RAM for variables and for the stack.
The motherboard RAM cannot be trusted (a common use of RDR being because there is bad RAM in bank 0).
For that reason, RDR uses either:
- If an MDA video card is present, the unused video RAM on that; or
- If an CGA video card is present, the unused video RAM on that; or
- If 4 KB of RAM at address A0000, some of that RAM. (Version 4.3 or later of RDR required.)
- If 4 KB of RAM at address B0000, some of that RAM.
- If 4 KB of RAM at address B8000, some of that RAM.
   
Note 2 Note that the cause of failure may not be a RAM chip/s.  See here for more information.